import { reqGoodsList } from '../../../api/goods'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goodsList: [], // 商品列表数据
    isFinish: false, // 判断数据是否加载完毕
    total: 0,
    isLoading: false, // 判断数据是否加载完毕，用于节流阀

    requestData: {
        page: 1, 
        limit: '10', 
        category1Id: '',
        category2Id: ''
    }
  },

  // 获取商品列表
  async getGoodsList() {
    // 发送请求前设置为true
    this.data.isLoading = true
    // 发送请求
    const { data } = await reqGoodsList(this.data.requestData)
    // 发送请求后，设置为false,后续上拉刷新判断是否为true来刷新数据，用以在网络不好的情况下多次发送请求刷新数据
    this.data.isLoading = false

    this.setData({
        goodsList: [...this.data.goodsList, ...data.records],
        total: data.total
    })
  },

  // 监听页面上拉操作
  onReachBottom() {
    const { goodsList, total, requestData, isLoading } = this.data
    const { page } = requestData

    if (isLoading) return

    // 判断数据是否加载完毕
    if ( goodsList.length === total ) {
        this.setData({
            isFinish: true
        })

        return
    }

    // 监听到上拉操作后进行页码加1
    this.setData({
        requestData: { ...this.data.requestData, page: page + 1 }
    })

    // 重新获取商品列表数据
    this.getGoodsList()
  },

  // 监听页面下拉操作
  onPullDownRefresh() {
    // 进行数据重置
    this.setData({
        goodsList: [], 
        isFinish: false, 
        total: 0,
        requestData: { ...this.data.requestData, page: 1}
    })

    // 获取商品列表
    this.getGoodsList()

    // 关闭下拉刷新显示
    wx.stopPullDownRefresh()
  },

  onLoad(options) {
    Object.assign(this.data.requestData, options)
    this.getGoodsList()
  },

    // 转发功能
    onShareAppMessage() {
        return {
            title: '所有的砰然心动，都是你',
            path: '/pages/index/index',
            imageUrl: '../../../../../assets/images/love.jpg'
        }
    },

    // 分享到朋友圈功能
    onShareTimeline() {},

})
